﻿Imports System.Runtime.InteropServices
Imports System.Text

Public Class Header

    Public lngSessionId As Integer
    Public strIndivPassPhrase As String


#Region "Load/Unload"
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function loadEasyclaim() As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function unloadEasyclaim() As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getVersionId(ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function

#End Region

#Region "Release 2.8 functions"
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function listBusinessObject(ByVal SessionId As Integer, ByVal BusinessObjectPath As String, ByVal AccessLevel As String, ByVal Delimeter As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getNextReport(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getUniqueId(ByVal SessionId As Integer, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function unloadReport(ByVal SessionId As Integer, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function unloadContent(ByVal SessionId As Integer, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function loadContent(ByVal SessionId As Integer, ByVal BusinessObjectType As String, ByVal sID As String, ByVal ExternalContent As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function isSignatureRequired(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getErrorText(ByVal SessionId As Integer, ByVal errorCode As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    ' Public shared Function getCthVersion  (ByVal SessionId As integer, ByVal OutputBuffer As Stringbuilder, ByVal BufferSize As integer) As integer
    ' Public shared Function getEasyclaimCDLLVersion  (ByVal OutputBuffer As Stringbuilder) As String
    ' Public shared Function getEasyclaimCDLLVersion  () As String
#End Region


#Region "Release 2 functions"
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createCryptoStore(ByVal PrivateSignKey As String, ByVal PrivateEncKey As String, ByVal TrustFile As String, ByVal HicSignCert As String, ByVal HicEncCert As String, ByVal OldPassPhrase As String, ByVal FileLocation As String, ByVal NewPassphrase As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createSessionEasyclaim(ByRef SessionId As Integer, ByVal FilePath As String, ByVal PassPhrase As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function destroySessionEasyclaim(ByVal SessionId As Integer, Force As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setSessionElement(ByVal SessionId As Integer, ByVal ElementName As String, ByVal ElementValue As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getSessionElement(ByVal SessionId As Integer, ByVal ElementName As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function resetSession(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createTransmission(ByVal SessionId As Integer, ByVal TransmissionType As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function cancelTransmission(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getTransmissionElement(ByVal SessionId As Integer, ByVal ElementName As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setTransmissionElement(ByVal SessionId As Integer, ByVal ElementName As String, ByVal ElementValue As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function sendTransmission(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function addContent(ByVal SessionId As Integer, ByVal Content As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function includeContent(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function sendContent(ByVal SessionId As Integer, ByVal TransmissionType As String, ByVal HCIPassPhrase As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function acceptContent(ByVal SessionId As Integer, ByVal HCIPassPhrase As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createBusinessObject(ByVal SessionId As Integer, ByVal BusinessObjectType As String, ByVal PathOfParentObject As String, ByVal ObjectId As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function cancelBusinessObject(ByVal SessionId As Integer, ByVal PathOfObject As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getBusinessObjectElement(ByVal SessionId As Integer, ByVal PathOfObject As String, ByVal ElementName As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setBusinessObjectElement(ByVal SessionId As Integer, ByVal PathOfObject As String, ByVal ElementName As String, ByVal ElementValue As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function resetBusinessObjectElement(ByVal SessionId As Integer, ByVal PathOfObject As String, ByVal ElementName As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setBusinessObjectCondition(ByVal SessionId As Integer, ByVal PathOfObject As String, ByVal ConditionName As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function authoriseContent(ByVal SessionId As Integer, ByVal HCIPassPhrase As String, ByRef BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getContent(ByVal SessionId As Integer, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createReport(ByVal SessionId As Integer, ByVal ReportName As String, ByVal SelectionCriteria As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function clearReport(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function resetReport(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getReportElement(ByVal SessionId As Integer, ByVal ElementName As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getNextReportRow(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function isReportAvailable(ByVal SessionId As Integer) As Integer
    End Function
#End Region

#Region "Release 1 Functions"
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setPathName(ByVal SessionId As Integer, ByVal FilePathType As String, ByVal FilePath As String) As Integer
    End Function
#End Region

#Region "PC CLaim"
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function acceptPCClaim(ByVal SessionId As Integer, ByVal PassPhrase As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function addPCClaim(ByVal SessionId As Integer, ByVal DBClaim As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function authorisePCClaim(ByVal SessionId As Integer, ByVal PassPhrase As String, ByRef BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function cancelService(ByVal SessionId As Integer, ByVal serviceId As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function cancelVoucher(ByVal SessionId As Integer, ByVal VoucherSeqNum As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function clearPCClaimElement(ByVal SessionId As Integer, ByVal ElementName As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function clearServiceElement(ByVal SessionId As Integer, ByVal serviceId As String, ByVal ElementName As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function clearVoucherElement(ByVal SessionId As Integer, ByVal VoucherSeqNum As String, ByVal ElementName As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createPCClaim(ByVal SessionId As Integer, ByVal ClaimType As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createPCVoucher(ByVal SessionId As Integer, ByVal VoucherSeqNum As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createService(ByVal SessionId As Integer, ByVal VoucherSeqNum As String, ByVal serviceId As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getPCClaim(ByVal SessionId As Integer, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getPCClaimElement(ByVal SessionId As Integer, ByVal ElementName As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getServiceElement(ByVal SessionId As Integer, ByVal serviceId As String, ByVal ElementName As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getVoucherElement(ByVal SessionId As Integer, ByVal VoucherSeqNum As String, ByVal ElementName As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setPCClaimCondition(ByVal SessionId As Integer, ByVal ConditionName As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setServiceCondition(ByVal SessionId As Integer, ByVal serviceId As String, ByVal ConditionName As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setServiceElement(ByVal SessionId As Integer, ByVal serviceId As String, ByVal ElementName As String, ByVal ElementValue As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setVoucherCondition(ByVal SessionId As Integer, ByVal VoucherSeqNum As String, ByVal ConditionName As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function submitPCClaim(ByVal SessionId As Integer, ByVal PassPhrase As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function cancelPCClaim(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function clearClaim(ByVal SessionId As Integer) As Integer
    End Function
#End Region


#Region "direct bill"
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function authoriseDBClaim(ByVal SessionId As Integer, ByVal PassPhrase As String, ByRef BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createDBClaim(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function addDBClaim(ByVal SessionId As Integer, ByVal DBClaim As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getDBClaim(ByVal SessionId As Integer, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getDBClaimElement(ByVal SessionId As Integer, ByVal ElementName As String, ByVal OutputBuffer As StringBuilder, ByVal BufferSize As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function setDBClaimElement(ByVal SessionId As Integer, ByVal ElementName As String, ByVal ElementValue As String) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function cancelDBClaim(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function includeDBClaim(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function createDBVoucher(ByVal SessionId As Integer, ByVal VoucherSeqNum As String) As Integer
    End Function
#End Region


#Region "report"
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getNextReportClaim(ByVal SessionId As Integer) As Integer
    End Function
    <DllImport("..\" & "EasyclaimC.dll")> _
    Public Shared Function getNextReportService(ByVal SessionId As Integer) As Integer
    End Function
#End Region

End Class
